package poo.figure;

import poo.util.Mat;

public class Sfera extends Cerchio implements FiguraSolida {

	public Sfera(double raggio) {
		super(raggio);
	}

	public Sfera(Cerchio c) {
		super(c.getRaggio());
	}

	public double perimetro() {
		throw new UnsupportedOperationException();
	}

	public double area() {
		return 4 * Math.PI * getRaggio() * getRaggio();
	}

	public double areaLaterale() {
		return 4 * Math.PI * getRaggio() * getRaggio();
	}

	public double volume() {
		return (4 * Math.PI * getRaggio() * getRaggio()) / 3;
	}

	public String toString() {
		return "Sfera: raggio= " + getDimensione();
	}// toString

	public boolean equals(Object x) {
		if (!(x instanceof Sfera))
			return false;
		if (x == this)
			return true;
		Sfera s = (Sfera) x;
		return Mat.sufficientementeProssimi(this.getDimensione(),
				s.getDimensione());
	}// equals

}
